var cityCode = getHash('cityCode')
var lng = getHash('lng')
var lat = getHash('lat')

$.get(`http://116.62.161.10:8094/data-screen-admin/map/index?cityCode=${cityCode}`, function (data) {
  let busData = [data.locationList2, data.locationList3, data.locationList]
  // busData[0] 正常运营
  // busData[1] 故障车
  // busData[2] 停运车
  /*var busData =
      [
          [
              {
                value: [114.29864094999999, 30.608176683333333],
                price: 1.6,
                busType: '空调车',
                carryNo: 129759,
                driver: '张三',
                startStation: '站点1',
                endStation:'站点2',
                lineName: 801,
                lineType: '专线'
              },
              {
                value: [114.21129556666666, 30.589170333333335],
                price: 1,
                busType: '汽油车',
                carryNo: 1293232,
                driver: '李四',
                startStation: '站点3',
                endStation:'站点4',
                lineName: 702,
                lineType: '普通'
              }
          ],
          [
              {
                value: [114.22836913333335, 30.65218913333333],
                price: 1.5,
                busType: '空调车',
                carryNo: 123453,
                driver: '王五',
                startStation: '站点5',
                endStation:'站点6',
                lineName: 601,
                lineType: '普通'
              }
          ],
          [
              {
                  value: [114.18049316666666, 30.611914066666667],
                  price: 1.6,
                  busType: '电动车',
                  carryNo: 456563,
                  driver: '赵六',
                  startStation: '站点7',
                  endStation:'站点8',
                  lineName: 408,
                  lineType: '专线'
              }
          ]
      ]*/

  /*data.forEach((item, idx) => {
    busData.push({
      name: idx,
      value: [item.split(',')[0] * 1, item.split(',')[1] * 1]
    })
  })*/
  var mapStyle = {
    'styleJson': [
      {
        'featureType': 'water',
        'elementType': 'all',
        'stylers': {
          'color': '#031628'
        }
      },
      {
        'featureType': 'land',
        'elementType': 'geometry',
        'stylers': {
          'color': '#000102'
        }
      },
      {
        'featureType': 'highway',
        'elementType': 'all',
        'stylers': {
          'visibility': 'off'
        }
      },
      {
        'featureType': 'arterial',
        'elementType': 'geometry.fill',
        'stylers': {
          'color': '#000000'
        }
      },
      {
        'featureType': 'arterial',
        'elementType': 'geometry.stroke',
        'stylers': {
          'color': '#0b3d51'
        }
      },
      {
        'featureType': 'local',
        'elementType': 'geometry',
        'stylers': {
          'color': '#000000'
        }
      },
      {
        'featureType': 'railway',
        'elementType': 'geometry.fill',
        'stylers': {
          'color': '#000000'
        }
      },
      {
        'featureType': 'railway',
        'elementType': 'geometry.stroke',
        'stylers': {
          'color': '#08304b',
        }
      },
      {
        'featureType': 'subway',
        'elementType': 'geometry',
        'stylers': {
          'lightness': -70,
          'visibility': 'off'
        }
      },
      {
        'featureType': 'building',
        'elementType': 'geometry.fill',
        'stylers': {
          'color': '#000000'
        }
      },
      {
        'featureType': 'all',
        'elementType': 'labels.text.fill',
        'stylers': {
          'color': '#857f7f'
        }
      },
      {
        'featureType': 'all',
        'elementType': 'labels.text.stroke',
        'stylers': {
          'color': '#000000',
        }
      },
      {
        'featureType': 'building',
        'elementType': 'geometry',
        'stylers': {
          'color': '#022338',
        }
      },
      {
        'featureType': 'green',
        'elementType': 'geometry',
        'stylers': {
          'color': '#062032',
        }
      },
      {
        'featureType': 'boundary',
        'elementType': 'all',
        'stylers': {
          'color': '#465b6c',
        }
      },
      {
        'featureType': 'manmade',
        'elementType': 'all',
        'stylers': {
          'color': '#022338',
        }
      },
      {
        'featureType': 'label',
        'elementType': 'all',
        'stylers': {
          'visibility': 'off'
        }
      }
    ]
  }

  var options = {
    animation: false,
    tooltip : {
      trigger: 'item',
      formatter: function (params) {
        let busType = params.data.busType
        let carryno = params.data.carryNo
        let driver = params.data.driver
        let lineName = params.data.lineName
        let dom = `车辆自编号:${carryno}<br/>车辆类型:${busType}<br/>驾驶员:${driver}<br/>线路名:${lineName}`
        return dom
      }
    },
    bmap: {
      center: [lng, lat],
      zoom: 13,
      roam: true,
      mapStyle: mapStyle
    },
    series : [
      {
          name: '车辆故障',
          type: 'effectScatter',
          coordinateSystem: 'bmap',
          data: busData[1],
          symbolSize: function (val) { // 标注大小 @params ${number <Array>} [10, 20] 宽 高
              return 6
          },
          showEffectOn: 'render', // 何时加特效 @params {string} 'render' 绘制完成后显示特效。 'emphasis' 高亮（hover）的时候显示特效。
          rippleEffect: { // 波纹的绘制方式 $params {string} 可选 'stroke' 和 'fill'
              brushType: 'stroke'
          },
          label: {
              normal: {
                  formatter: '{a}',
                  position: 'right',
                  show: false
              }
          },
          itemStyle: {
              normal: {
                  color: '#ffe342',
                  shadowBlur: 10,
                  shadowColor: '#444'
              }
          },
          progressiveThreshold: 1000,  // 渐进式渲染
          progressive: 1000,
          zlevel: 1
      },
      {
          name: '车辆停运',
          type: 'effectScatter',
          coordinateSystem: 'bmap',
          data: busData[2],
          symbolSize: function (val) { // 标注大小 @params ${number <Array>} [10, 20] 宽 高
              return 6
          },
          showEffectOn: 'render', // 何时加特效 @params {string} 'render' 绘制完成后显示特效。 'emphasis' 高亮（hover）的时候显示特效。
          rippleEffect: { // 波纹的绘制方式 $params {string} 可选 'stroke' 和 'fill'
              brushType: 'stroke'
          },
          label: {
              normal: {
                  formatter: '{a}',
                  position: 'right',
                  show: false
              }
          },
          itemStyle: {
              normal: {
                  color: '#fe3455',
                  shadowBlur: 10,
                  shadowColor: '#444'
              }
          },
          progressiveThreshold: 1000,  // 渐进式渲染
          progressive: 1000,
          zlevel: 1
      },
      {
        name: '正常运营',
        type: 'effectScatter',
        coordinateSystem: 'bmap',
        data: busData[0],
        symbolSize: function (val) { // 标注大小 @params ${number <Array>} [10, 20] 宽 高
          return 6
        },
        showEffectOn: 'render', // 何时加特效 @params {string} 'render' 绘制完成后显示特效。 'emphasis' 高亮（hover）的时候显示特效。
        rippleEffect: { // 波纹的绘制方式 $params {string} 可选 'stroke' 和 'fill'
          brushType: 'stroke'
        },
        label: {
          normal: {
            formatter: '{a}',
            position: 'right',
            show: false
          }
        },
        itemStyle: {
          normal: {
            color: '#3695ff',
            shadowBlur: 10,
            shadowColor: '#444'
          }
        },
        progressiveThreshold: 1000,  // 渐进式渲染
        progressive: 1000,
        zlevel: 1
      }
    ]
  }

  const myMap = echarts.init(document.getElementById('main'))
  myMap.setOption(options, true)
  window.addEventListener('resize', function () {
    myMap.resize()
  })
})


function getHash (name) {
  var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)')
  // 构造一个含有目标参数的正则表达式对象
  var r = window.location.search.substr(1).match(reg)
  // 匹配目标参数
  if (r != null) return decodeURIComponent(r[2])
  return null // 返回参数值
}
